#include <stdio.h>

int main(int argc, char const *argv[])
{
    // int a[7] = {-3, -5, -2, -1, -4, -8, -6};
    int a[7] = {-2, 5, -1, 6, -4, -8, 6};

    int max=a[0], sum=0;

    for(int i=0; i<sizeof(a)/sizeof(int); i++)
    {
        // 对数据进行累加
        sum += a[i];

        // 如果累加值变大，则max跟随变大
        if(sum > max)
            max = sum;

        // 如果累加值被负数减没了，那sum置零后继续累加，max保留原来不变
        if(sum < 0)
            sum = 0;

        // 如果累加值变小但还是正数，则保持sum不变，但max不跟随
    }
    printf("max: %d\n", max);

    return 0;
}
